﻿using Abp.Domain.Entities.Auditing;
using JetBrains.Annotations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Camc.Quality.StoreManagement.StoragePut
{
    /// <summary>
    /// 退库详情表
    /// </summary>
    public class CancellingStocksDocument : FullAuditedEntity<Guid>
    {
        /// <summary>
        /// 退库单号
        /// </summary>
        public string CancellingStocksNo { get; set; }
        /// <summary>
        /// 出库单号
        /// </summary>
        public string DeliveryNo { get; set; }

        /// <summary>
        /// 表单Id
        /// </summary>
        public Guid DeliveryDocumentId { get; set; }
        /// <summary>
        /// 仓库ID
        /// </summary>
        public Guid? StoreId { get; set; }
        /// <summary>
        /// 仓库名称
        /// </summary>
        public string StroeName { get; set; }
        /// <summary>
        /// 装配任务号
        /// </summary>
        public string AssemblyTaskNumber { get; set; }
        /// <summary>
        /// 放行单号
        /// </summary>
        public string ReleaseOrder { get; set; }
        /// <summary>
        /// 合格证号
        /// </summary>
        public string QualifiedNumber { get; set; }
        /// <summary>
        ///     1.型号
        /// </summary>
        public string Model { get; set; }
        /// <summary>
        ///     3.发次
        /// </summary>
        public string LotNo { get; set; }

        /// <summary>
        /// 型号Id
        /// </summary>
        public Guid? ModelId { get; set; }
        /// <summary>
        /// 发次Id
        /// </summary>
        public Guid? LotNoId { get; set; }
        /// <summary>
        /// 退库类型
        /// </summary>
        public CancellingType Cancelling { get; set; }

        /// <summary>
        /// 退库原因
        /// </summary>
        public string CancellingReason { get; set; }

        /// <summary>
        /// 退库人
        /// </summary>
        public string CancellingUser { get; set; }

        /// <summary>
        /// 退库人Id
        /// </summary>
        public long CancellingUserId { get; set; }
        [CanBeNull]
        /// <summary>
        /// 退库人时间
        /// </summary>
        public DateTime? CancellingTime { get; set; }
    }
}
